package io.github.talelin.latticy.mapper;

import io.github.talelin.latticy.conf.MyBaseMapper;
import io.github.talelin.latticy.model.WareareaDO;
import io.lettuce.core.dynamic.annotation.Param;

/**
 * <p>
 * 仓库分区 Mapper 接口
 * </p>
 *
 * @author generator@wulongbo
 * @since 2022-06-07
 */
public interface WareareaMapper extends MyBaseMapper<WareareaDO> {

    /**
     * 查询某个仓库排序为$areaOrder的数量
     *
     * @param code 仓库编码
     * @param areaOrder 排序
     * @return 数量
     */
    int selectCountByCodeAndOrder(@Param("code") String code, @Param("areaOrder") int areaOrder);


    /**
     * 查询某个仓库区域名为$name的数量
     *
     * @param code 仓库编码
     * @param name 区域名
     * @return 数量
     */
    int selectCountByName(@Param("code") String code, @Param("name") String name);

    /**
     * 查询指定仓库区域名为$name的数量
     *
     * @param id 库位id
     * @param name 区域名
     * @return 数量
     */
    int selectCountByIdAndName(@Param("id") int id, @Param("name") String name);

    /**
     * 根据区域id获取仓库id
     *
     * @param areaId 区域id
     */
    String getCodeByAreaId(int areaId);
}
